//
//  YWNoticeDBManager.h
//  maintain
//
//  Created by kyo on 16/11/8.
//  Copyright © 2016年 ewin. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "YWSingleton.h"

#import "YWNotice.h"

@interface YWNoticeDBManager : NSObject
YWSingletonH(Manager)

/**
 *  创建通知表
 *
 *  @return 结果
 */
- (BOOL)createNoticeTable;
/**
 *  更新通知表
 *
 *  @return 结果
 */
- (void)dropAndReCreateNoticeTable;
#pragma mark - noticeTable methods
/**
 *  保存公告
 *
 *  @param notices 公告模型数组
 *
 *  @return 结果
 */
- (BOOL)updateNoticeWithNoticeArray:(NSArray*)notices;

/**
 *  获取公告
 *
 *  @param noticeType 公告的类型（我发的还是别人发的）
 *  @param page 刷新页数
 *
 *  @return 结果
 */
- (NSArray*)noticesOfTypeWithMeOrOthers:(YWNoticeType)noticeType page:(NSInteger)page;
/**
 *  获取公告
 *
 *  @param noticeId 公告id
 *
 *  @return 结果
 */
- (YWNotice*)noticeWithNoticeId:(NSInteger)noticeId;
/**
 *  是否存在公告
 *
 *  @param noticeId 公告id
 *
 *  @return 结果
 */
- (BOOL)existNoticeWithNoticeId:(NSInteger)noticeId;
/**
 *  删除公告
 *
 *  @param noticeId 公告id
 *
 *  @return 结果
 */
- (BOOL)deleteNoticeWithNoticeId:(NSInteger)noticeId;
/**
 *  删除公告的图片（修改通知时）
 *
 *  @param noticeId 公告id
 *
 *  @return 结果
 */
- (BOOL)deletePictureOfNoticeWithNoticeId:(NSInteger)noticeId;
@end
